<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"
      xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="../../../assert/css/font.css" th:href="@{/assert/css/font.css}"/>
    <link rel="stylesheet" href="../../../assert/css/bootstrap.min.css" th:href="@{/assert/css/bootstrap.min.css}"/>
    <link rel="stylesheet" href="../../../assert/css/plugin/chosen/chosen.css"
          th:href="@{/assert/css/plugin/chosen/chosen.css}"/>
    <link rel="stylesheet" href="../../../assert/css/bootstrap-table.css" th:href="@{/assert/css/bootstrap-table.css}"/>
    <link rel="stylesheet" href="../../../assert/css/bootstrap-select.min.css"
          th:href="@{/assert/css/bootstrap-select.min.css}"/>
    <link href="../../../assert/css/animate.min.css" rel="stylesheet" th:href="@{/assert/css/animate.min.css}">
    <link href="../../../assert/css/plugin/toastr/toastr.min.css" rel="stylesheet"
          th:href="@{/assert/css/plugin/toastr/toastr.min.css}">
    <link href="../../../assert/css/plugin/jsTree/themes/default/style.css" rel="stylesheet"
          th:href="@{/assert/css/plugin/jsTree/themes/default/style.css}">
    <link href="../../../assert/css/loaders.css" rel="stylesheet"
          th:href="@{/assert/css/loaders.css}">
    <link rel="stylesheet" href="../../../assert/css/city-picker.css" th:href="@{/assert/css/city-picker.css}"/>
    <link rel="stylesheet" href="../../../assert/css/jquery-ui.css" th:href="@{/assert/css/jquery-ui.css}"/>
    <link rel="stylesheet" href="../../../assert/css/index.css" th:href="@{/assert/css/index.css(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"/>

    <style>
        .search_group label.control-label {
            width: 105px;
        }
        .circleBox {
            position: absolute;
            left: 86px;
            top: 3px;
            font-weight: normal;
            font-size: 14px;
        }
        .circle_con {
            top: -170px;
            width:460px;
        }
    </style>
</head>
<body>
<a id="basePath" th:href="@{/}"></a>
<!--添加业务分类/场景模态框-->
<div class="modal fade" id="workModal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog" style="width: 1000px;">
        <div class="modal-content">
            <div>
                <div class="modal-header">
                    <button type="button" class="close closeAudioModel" data-dismiss="modal"><span
                            aria-hidden="true">&times;</span><span
                            class="sr-only">Close</span></button>
                    <h4 class="modal-title">选择业务分类/场景</h4>
                </div>
                <div class="modal-body">
                    <div class="selectModel" style="height:570px !important;">
                        <div class="menu_left">
                            <div class="search_box">
                                <input type="text" autocomplete="off"><span class="fa fa-search fa_btn"
                                                                            id="searchMenuWork"></span>
                            </div>
                            <div id="jstree" class="scrollbar" style="height:520px;">

                            </div>
                        </div>
                        <div class="model_right" style="width:480px;height: 100%;">
                            <!--                            <div class="search_box">-->
                            <!--                                <input type="text" autocomplete="off" placeholder="业务分类名称" style="width: 450px;" id="tagTreeName"><span-->
                            <!--                                    class="fa fa-search fa_btn" id="searchworkName"></span>-->
                            <!--                            </div>-->
                            <table id="workTableWin"></table>
                        </div>
                        <div class="model_right" style="width: 270px;height: 546px;">
                            <div class="tagSModel" id="workSModel">
                                <div>已选业务分类/场景：</div>
                                <ul style="overflow: auto;height: 556px;">
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-primary" id="saveWork">保存</button>
                    <button type="button" class="btn btn-white closeAudioModel" data-dismiss="modal" id="closeWork">关闭</button>
                </div>
            </div>
        </div>
    </div>
</div>
<!--选择 省份/城市 模态框-->
<div class="modal fade" id="proCityModal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog" style="width: 800px;">
        <div class="modal-content">
            <div>
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span
                            aria-hidden="true">&times;</span><span
                            class="sr-only">Close</span></button>
                    <h4 class="modal-title">选择省份/城市</h4>
                </div>
                <div class="modal-body" style="display: inline-block">
                    <div class="pro-tab-title">
                        <ul>

                        </ul>
                    </div>
                    <div class="search_box" style="margin:5px 0">
                        <input type="text" autocomplete="off" style="width:436px" placeholder="省份/城市">
                        <span class="fa fa-search fa_btn" id="searchProCity" style="height:30.5px;left:-5px"></span>
                    </div>
                    <div class="pro-tab-content">
                        <div class="pro-left" style="width:166px;">
                            <div class="pro-title">
                                省份如下：
                                <div class="select-btn-box">
                                    <i id="selectAllPro">全选</i>
                                    <i id="selectReversePro">反选</i>
                                </div>
                            </div>
                            <ul class="scrollbar" style="height:100%" id="jstreePro">
                                <li></li>
                            </ul>
                        </div>
                        <div class="pro-middle" style="width:300px;">
                            <div class="pro-title">城市如下：
                                <div class="select-btn-box">
                                    <i id="selectAllCity">全选</i>
                                    <i id="selectReverseCity">反选</i>
                                </div>
                            </div>
                            <div class="selectProCity scrollbar"></div>
                        </div>
                        <div class="pro-right" style="width:300px;">
                            <div class="pro-title">已选省份/城市如下：<span id="allDelete">全部删除</span></div>
                            <div class="selectedProCity scrollbar"></div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-primary" id="saveProCity">保存</button>
                    <button type="button" class="btn btn-white" data-dismiss="modal" id="close">关闭</button>
                </div>
            </div>
        </div>
    </div>
</div>

<div class="wrapper wrapper-content">
    <div class="ibox">
        <!--全局功能按钮-->
        <div class="tools_bar">
            <div class="pull-left">
                <a href="#" class="btn btn-default active" id="btnSearch" title="隐藏查询条"><i class="fa fa-filter"></i> 隐藏</a>
                <a href="#" class="btn btn-default active" id="refresh"><i class="fa fa-refresh"></i> 刷新</a>
            </div>
        </div>
        <!--查询条-->
        <div class="search on">
            <div class="search_group">
                <label class="control-label"><span class="respan">*</span>日期：</label>
                <div class="control-inline">
                    <input placeholder="开始日期" class="form-control layer-date search_input" id="callStartTime"
                           autocomplete="off"> -
                    <input placeholder="结束日期" class="form-control layer-date search_input" id="callEndTime"
                           autocomplete="off">
                </div>
            </div>
            <div class="search_group">
                <label class="control-label"><span class="respan">*</span>省份/城市：</label>
                <div class="control-inline">
                    <input type="text" id="proCity" value="" class="form-control search_input" placeholder="请选择" autocomplete="off">
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">业务分类/场景：</label>
                <div class="control-inline">
                    <input type="text" id="workNameNew" value="" class="form-control search_input" autocomplete="off">
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">满意度：</label>
                <div class="control-inline">
                    <select type="text" id="agree" value="" class="form-control search_input"></select>
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">重复来电：</label>
                <div class="control-inline">
                    <select type="text" id="repeatPhone" value="" class="form-control search_input"></select>
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">客户星级：</label>
                <div class="control-inline">
                    <select type="text" id="customerLevel"  class="form-control search_input selectpicker" title="请选择"></select>
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">话务小结：</label>
                <div class="control-inline">
                    <input type="text" id="tagTrafficSearch0" value="" class="form-control search_input tagName" autocomplete="off"  data-type="0">
                </div>
            </div>
            <div class="search_group">
                <label class="control-label">系统标签：</label>
                <div class="control-inline">
                    <input type="text" id="tagTrafficSearch1" value="" class="form-control search_input tagName" autocomplete="off" data-type="1">
                </div>
            </div>
            <div class="search_group">
                <button id="search" class="btn  btn-primary">查询</button>
                <button id="reset" class="btn  btn-default">重置</button>
                <button id="exportGroup" class="btn  btn-default">集团导出</button>
            </div>
        </div>
        <div id="initTip" style="height:200px;line-height:200px;text-align:center;border: 1px solid #ddd;">亲，请选择必选条件哦！
        </div>
        <div class="mapTitle" style="display: none">
            <span class="on" data-index="1">话务量排行</span>
            <span data-index="0">诉求量排行</span>
        </div>
        <!--折线统计图-->
        <div id="lineCharts" style="height:500px;" class="charts"></div>
        <!--表格-->
        <div class="table_box" style="display: none;position:relative">
            <div class="table_tools">
                业务数据
                <div class="circleBox" id="lookExpression">
                    <span class="fa fa-question-circle"  style="cursor: pointer" ></span>
                    <div class="circle">
                        <div class="circle_con" style="display: none">
                            <ul>
                                <li>业务数据表中内容说明:</li>
                                <li>诉求总量：命中业务分类/场景语义的总次数</li>
                                <li>话务量：命中业务分类/场景语义的话务通数</li>
                                <li>话务总量：当天的话务通数</li>
                                <li>某业务分类/场景的诉求量占比=该业务场景的诉求量/当天的诉求总量</li>
                                <li>某业务分类/场景的话务量占比=该业务场景的话务量/当天话务量</li>
                            </ul>
                        </div>
                    </div>
                </div>
                <span class="downIcon" id="export" title="导出业务数据"></span>
            </div>
            <table id="myTable"></table>
        </div>
    </div>
</div>
<!--导出提交-->
<form action="" id="exportForm" class="hidden" method="post">
    <input type="text" id="callStartTimeE" name="callStartTime">
    <input type="text" id="callEndTimeE" name="callEndTime">
    <input type="text" id="provinceAndCityE" name="provinceAndCity">
    <input type="text" id="classificationE" name="classification">
    <input type="text" id="sceneE" name="scene">
    <input type="text" id="satisfactionE" name="satisfaction">
    <input type="text" id="reCallFlagE" name="recallFlag">
    <input type="text" id="customerLevelE" name="customerLevel">
    <input type="text" id="sysTagIdsE" name="sysTagIds">
    <input type="text" id="sysOperatorE" name="sysOperator">
    <input type="text" id="telTagIdsE" name="telTagIds">
    <input type="text" id="telOperatorE" name="telOperator">
</form>
<form action="" id="formDetail" class="hidden" target="_blank">
    <input type="text" name="tagPro">
    <input type="text" name="tagProOnly">
    <input type="text" name="tagProName">
    <input type="text" name="tagProType">
    <input type="text" name="tagStartTime">
    <input type="text" name="tagEndTime">
    <input type="text" name="reCallFlag">
    <input type="text" name="satisfaction">
    <input type="text" name="customerLevels">
    <input type="text" name="tagSence">
    <input type="text" name="sysTagIds">
    <input type="text" name="sysTagNames">
    <input type="text" name="sysOperator">
    <input type="text" name="telTagIds">
    <input type="text" name="telTagNames">
    <input type="text" name="telOperator">
</form>
<input type="hidden" id="tagTreeId" value="" class="form-control search_input">
<input type="hidden" id="areaTreeId" value="" class="form-control search_input">
<input type="hidden" id="tagTreeType" value="" class="form-control search_input">
<input type="hidden" id="tagProperty" value="" class="form-control search_input">
<input type="hidden" id="workTreeId" value="" class="form-control search_input">
<input type="hidden" id="workAreaId" value="" class="form-control search_input">

<script src="../../../assert/js/jquery.js" th:src="@{/assert/js/jquery.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/echarts.min.js" th:src="@{/assert/js/echarts.min.js}"></script>
<script src="../../../assert/js/bootstrap.min.js" th:src="@{/assert/js/bootstrap.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/bootstrap-table.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/bootstrap-table.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/bootstrap-table-mobile.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/bootstrap-table-mobile.min.js}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}"></script>
<script src="../../../assert/js/bootstrap-select.js" th:src="@{/assert/js/bootstrap-select.js}"></script>
<script src="../../../assert/js/plugin/toastr/toastr.min.js"
        th:src="@{/assert/js/plugin/toastr/toastr.min.js}"></script>
<script src="../../../assert/js/base.js" th:src="@{/assert/js/base.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/jquery-ui.min.js" th:src="@{/assert/js/jquery-ui.min.js}"></script>
<script src="../../../assert/js/plugin/layer/laydate/laydate.js"
        th:src="@{/assert/js/plugin/layer/laydate/laydate.js}"></script>
<script src="../../../assert/js/changeTime.js" th:src="@{/assert/js/changeTime.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/jsTree/jstree.min.js"
        th:src="@{/assert/js/plugin/jsTree/jstree.min.js}"></script>
<script src="../../../assert/js/plugin/chosen/chosen.jquery.js"
        th:src="@{/assert/js/plugin/chosen/chosen.jquery.js}"></script>
<script src="../../../assert/js/contabs.min.js" th:src="@{/assert/js/contabs.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/common.js" th:src="@{/assert/js/common.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/citypicker/city-picker.js"
        th:src="@{/assert/js/plugin/citypicker/city-picker.js}"></script>
<script src="../../../assert/js/taskCommon.js" th:src="@{/assert/js/taskCommon.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>

<script>
    //项目名称
    var basePath = $("#basePath").attr("href");
    var json = [];
    //    表格初始化
    var TableInit = function (json) {
        var oTableInit = new Object();
        //初始化Table
        oTableInit.Init = function (json) {
            $('#myTable').bootstrapTable("destroy")
            $('#myTable').bootstrapTable({
                data: json,
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                pagination: true,                   //是否显示分页（*）
                sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                       //初始化加载第一页，默认第一页
                pageSize: 10,                       //每页的记录行数（*）
                pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
                search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
                sortable: true,                     //是否启用排序
                sortName: "createTime", //排序方式
                sortOrder: "desc",
                contentType: "application/x-www-form-urlencoded",
                strictSearch: true,
                showColumns: false,                  //是否显示所有的列
                showRefresh: false,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
//                uniqueId: "serialNumber",                     //每一行的唯一标识，一般为主键列
                showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: true,
                cellStyle: {
                    css: {"background-color": "#fff"}
                },//是否显示父子表
                columns: [
                    {
                        align: "center",
                        halign: "center",
                        title: '序号',//标题  可不加
                        width: 60,
                        formatter: function (value, row, index) {
                            return (index + 1) + "";
                        }
                    },
                    {
                        align: "center",
                        halign: "center",
                        field: 'createTime',
                        title: '日期',
                        sortable: true
                    },
                    {
                        field: 'callCount',
                        title: '话务量',
                        align: "center",
                        halign: "center",
                        sortable: true,
                        formatter: function (value, row, index) {
                            return bs.jumpFormatter(value, JSON.stringify(row), parent.$('#isJumpBtn').length,'话务量');
                        }
                    },
                    {
                        field: 'callTotal',
                        title: '话务总量',
                        align: "center",
                        halign: "center",
                        sortable: true,
                        formatter: function (value, row, index) {
                            return bs.jumpFormatter(value, JSON.stringify(row), parent.$('#isJumpBtn').length,'话务总量');
                        }
                    },
                    {
                        field: 'appealCount',
                        title: '诉求总量',
                        align: "center",
                        halign: "center",
                        sortable: true,
                        formatter: function (value, row, index) {
                            return bs.jumpFormatter(value, JSON.stringify(row), parent.$('#isJumpBtn').length,'诉求总量');
                        }
                    }
                ],
                onLoadSuccess: function (data) {  //加载成功时执行
                    if (!data.rows || data.rows.length == 0) {
                        var src = basePath + "/assert/image/nodata.png";
                        $(".no-records-found").find("td").html('<img src="' + src + '" th:src="@{/assert/image/nodata.png}" style="width:165px;" alt="">');
                    }
                },
                onLoadError: function () {  //加载失败时执行
                    var src = basePath + "/assert/image/nodata.png";
                    $(".no-records-found").find("td").html('<img src="' + src + '" th:src="@{/assert/image/nodata.png}" style="width:165px;" alt="">');
                },
                formatLoadingMessage: function () {
                    return '<div class="loaded">' +
                        '<div class="loader">' +
                        '<div class="loader-inner line-scale-pulse-out">' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '</div>' +
                        '</div>' +
                        '</div>' +
                        '<div>请稍等，数据正在加载中...</div>';
                },
                onExpandRow: function (index, row, $detail) {
                    //这一步就是相当于在当前点击列下新创建一个table
                    if(row.appeals.length>0){
                        for(var i=0;i<row.appeals.length;i++){
                            row.appeals[i].createTime = row.createTime
                        }
                    }
                    InitSubTable(index, row.appeals, $detail);
                }
            });
        };
        //初始化子表格(无线循环)
        InitSubTable = function (index, row, $detail) {
            var parentid = index;
            var cur_table = $detail.html('<table></table>').find('table');
            $(cur_table).bootstrapTable({
                data: row,
                queryParams: {strParentID: parentid},
                ajaxOptions: {strParentID: parentid},
                clickToSelect: true,
                uniqueId: "classification",
                sortable: true,                     //是否启用排序
                sortName: "callNum", //排序方式
                sortOrder: "desc",
                pageSize: 10,
                pageList: [10, 25],
                columns: [
                    {
                        field: 'classification',
                        title: '业务分类/场景'
                    },
                    {
                        field: 'appealNum',
                        title: '诉求量',
                        formatter: function (value, row, index) {
                            return bs.jumpFormatter(value, JSON.stringify(row), parent.$('#isJumpBtn').length,'诉求量');
                        }
                    },
                    {
                        field: 'appealPerc',
                        title: '诉求量占比'
                    },
                    {
                        field: 'callNum',
                        title: '话务量',
                        formatter: function (value, row, index) {
                            return bs.jumpFormatter(value, JSON.stringify(row), parent.$('#isJumpBtn').length,'话务量');
                        }
                    },
                    {
                        field: 'callPerc',
                        title: '话务量占比'
                    }
                ],
                onLoadSuccess: function (data) {  //加载成功时执行

                },
                onLoadError: function () {  //加载失败时执行

                },
                formatLoadingMessage: function () {
                    return '<div class="loaded">' +
                        '<div class="loader">' +
                        '<div class="loader-inner line-scale-pulse-out">' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '</div>' +
                        '</div>' +
                        '</div>' +
                        '<div>请稍等，数据正在加载中...</div>';
                }
            });
        };
        return oTableInit;
    };
    //    页面自适应
    var resize = {
        init: function () {
            resize.me();
            $(window).resize(function () {
                resize.me();
                line.myChart.resize();
            })
        },
        me: function () {
            $('.charts').width($(window).width())
        }
    };
    //    查询条初始化
    var tools = {
        tableData: [],//表格数据
        reCallFlagArr: [],//重复来电
        agreeArr: [],//满意度
        proArr: [],//省市
        customerLevelArr: [],
        init: function () {
            tools.selectProvince();
            tools.getCityFlag();
            tools.getCustomerLevel();
            tools.getReCallFlag();
            tools.getSatStatus();
            bs.dataTime("#callStartTime", "#callEndTime", "YYYY-MM-DD");
            tools.tabSearch();
            tools.search();
            tools.reset();
            tools.refresh();
            tools.enterSearch();
            tools.export();
            tools.getNowTime();
            tools.tabTitle();
            var proCode = $("#spanId", parent.document).attr("data-procode");
            if(proCode!=''){
                $('#exportGroup').hide();
            }
            $("#myTable").on("click",".J_menuItem",function(){
                var row = JSON.parse($(this).attr('data-row'));
                var classificationVal = $("#workNameNew").val();
                var code = $(this).attr('data-code');
                row.scene = classificationVal;
                // 当业务分类没有选时 并且是父表格的话务量或者诉求总量时 将子表格的分类传到列表页
                if(classificationVal == '' && 'appeals' in row && (code == "话务量"|| code == "诉求总量")){
                    var classification = '';
                    row.appeals.forEach(function(data,index){
                        classification += data.classification + ','
                    });
                    classification = classification.substr(0,classification.length-1);
                    row.scene = classification;
                }
                if($(this).parents('.detail-view').length>0){
                    row.scene = row.classification
                }
                if($(this).attr('data-code') == "话务总量"){
                    row.scene = ''
                }
                var params = tools.jumpDetail(row);
                $(this).attr('href',basePath + "/rest/page/dataMiningAudioRetrieval?"+params);
            })
            $("#lookExpression").hover(function(){
                $(this).find(".circle_con").show();
            },function(){
                $(this).find(".circle_con").hide();
            });
        },
        getCityFlag: function () {
            var dataArr = bs.getStatus("city_5g_flag");
            dataArr.shift();
            var $li = '';
            var $ul = $('.pro-tab-title ul');
            $ul.html('');
            for (var i = 0; i < dataArr.length; i++) {
                $li = '<li data-code="' + dataArr[i].value + '"><a href="javascript:;">' + dataArr[i].name + '</a></li>'
                $ul.append($li);
            }
            $ul.find('li').eq(0).addClass('on');
        },
        selectProvince: function () {
            tools.proArr =bs.getProvince();
        },
        getCustomerLevel: function () {
            tools.customerLevelArr= bs.getStatus("audio_customer_level");
            bs.selectBootStrap($("#customerLevel"), tools.customerLevelArr);
        },
        getScene: function (arr) {
            bs.selectBootStrap($("#scene"), arr);
        },
        getReCallFlag: function () {
            var dataArr = bs.getStatus("recall_flag");
            Object.assign(tools.reCallFlagArr, dataArr);//es6复制数组的方法
            bs.selectDown($("#repeatPhone"), tools.reCallFlagArr);
        },
        getSatStatus: function () {
            var dataArr = bs.getStatus("audio_satisfaction");
            Object.assign(tools.agreeArr, dataArr);//es6复制数组的方法
            bs.selectDown($("#agree"), tools.agreeArr);
        },

        changeState: function (value, arr) {
            var str = "";
            for (var i = 0; i < arr.length; i++) {
                if (value == arr[i].value) {
                    str = arr[i].name
                }
            }
            return str;
        },
        tabSearch: function () {
            var search = $(".search");
            $("#btnSearch").on("click", function () {
                if (search.hasClass("on")) {
                    search.slideUp();
                    search.removeClass("on");
                    $("#btnSearch").html('<i class="fa fa-filter"></i> 查询').attr("title", "显示查询条");
                } else {
                    search.slideDown();
                    search.addClass("on");
                    $("#btnSearch").html('<i class="fa fa-filter"></i> 隐藏').attr("title", "隐藏查询条");
                }

            });
        },
        search: function () {
            $("#search").on("click", function () {
                var res = tools.validate();
                if(res){
                    var index = $(".mapTitle span.on").attr('data-index');
                    getData.isLoadData(index);
                }
            })
        },
        validate:function(){
            var res = true;
            if ($("#callStartTime").val() == "" || $("#callEndTime").val() == "") {
                toastrCog.error("请选择日期！", 2000);
                res = false
            }
            if ($("#proCity").val() == "") {
                toastrCog.error("请选择省份！", 2000);
                res = false
            }
            return res
        },
        reset: function () {
            $("#reset").on("click", function () {
                bs.resetSearch($(".search"), ["proCity"]);
                if ($("#laydate_box").length > 0) {
                    bs.resetTimeElems("#callStartTime", "#callEndTime");
                }
                var proCode = $("#spanId", parent.document).attr("data-procode");
                if(proCode == ''){
                    proCity.reset($('body'),'',proCode,0);
                    $("#workAreaId").val(proCode);
                    menuWorkNew.init(proCode,$('#jstree'),'1');//    获取业务数据
                    $("#workNameNew").val('').attr('title','');
                }
                tag.clearTag();
                getData.isLoadData(0);
            })
        },
        resetSelect: function ($obj) {
            $obj.val("");
            $obj.trigger("chosen:updated");
        },
        refresh: function () {
            $("#refresh").on("click", function () {
                $("#search").click();
            })
        },
        tableRefresh: function () {
            $("#myTable").bootstrapTable('refresh');
        },
        enterSearch: function () {
            $(".search").not("#searchInput").on("keyup", function (e) {
                var code = e.charCode || e.keyCode;
                if (code == 13) {
                    //此处编写用户敲回车后的代码
                    $("#search").click();
                }
            })
        },
        export: function () {
            $("#exportGroup,#export").on("click", function () {
                var res = tools.validate();
                if(res){
                    if(!getData.dataAll){
                        toastrCog.error("请求中，请稍后！", 2000)
                        res = false;
                    }else{
                        if (getData.dataAll && getData.dataAll.length == 0) {
                            toastrCog.error("没有可导出的数据哦！", 2000)
                            res = false;
                        }
                    }
                }
                if(res){
                    var form = $("#exportForm");
                    $("#callStartTimeE").val($("#callStartTime").val());
                    $("#callEndTimeE").val($("#callEndTime").val());
                    $("#provinceAndCityE").val($('#proCity').attr('data-str-search'));
                    $("#classificationE").val($("#workNameNew").val());
                    $("#sceneE").val($("#workNameNew").val());
                    $("#satisfactionE").val($("#agree").val());
                    $("#reCallFlagE").val($("#repeatPhone").val());
                    $("#customerLevelE").val($("#customerLevel").val());
                    $("#sysTagIdsE").val($("#tagTrafficSearch1").val());
                    $("#sysOperatorE").val($("#tagTrafficSearch1").attr("data-relation"));
                    $("#telTagIdsE").val($("#tagTrafficSearch0").val());
                    $("#telOperatorE").val($("#tagTrafficSearch0").attr("data-relation"));
                    if($(this).attr('id') == 'export'){
                        window.open(bs.getSysConfig("SJWJ_URL_PRE").value + '/exportExcel/appealsTrendExport?' + form.serialize())
                    }else{
                        window.open(bs.getSysConfig("SJWJ_URL_PRE").value + '/exportExcel/jtAppealsTrendExport?' + form.serialize())
                    }
                }
            })

        },
        getNowTime: function () {
            var endTime = dateFormatUtil(new Date().getTime()).split(" ")[0];
            var str = endTime.split(" ")[0];
            var startTime = str.substr(0, str.length - 2) + "01";
            $("#callStartTime").val(startTime);
            $("#callEndTime").val(endTime);
            bs.allTimeElem["#callEndTime"].min = startTime;
            bs.allTimeElem["#callEndTime"].start = startTime;
            bs.allTimeElem["#callStartTime"].max = endTime;
        },
        tabTitle: function () {
            $(".mapTitle span").on("click", function () {
                $(this).addClass("on").siblings().removeClass("on");
                var index = $(this).attr('data-index');//如果index 是0就按诉求排行，是1就按话务排行
                getData.init(index);
            })
        },
        jumpDetail:function(row){
            var form=$("#formDetail");
            var reCallFlagC = $("#repeatPhone").val();
            var satisfactionC = $("#agree").val();
            var customerLevelsC = $("#customerLevel").val();
            var telElem = $('#tagTrafficSearch0');
            var sysElem = $('#tagTrafficSearch1');
            form.find("input[name='tagPro']").val($('#proCity').attr('data-str'));
            form.find("input[name='tagProOnly']").val($('#proCity').attr('data-pro'));
            form.find("input[name='tagProName']").val($('#proCity').val());
            form.find("input[name='tagProType']").val($('.pro-tab-title li.on').attr('data-code'));
            form.find("input[name='tagStartTime']").val(row.createTime+' '+'00:00:00');
            form.find("input[name='tagEndTime']").val(row.createTime+' '+'23:59:59');
            form.find("input[name='reCallFlag']").val(reCallFlagC);
            form.find("input[name='satisfaction']").val(satisfactionC);
            form.find("input[name='customerLevels']").val(customerLevelsC);
            form.find("input[name='telTagIds']").val(telElem.attr('data-id'));
            form.find("input[name='telTagNames']").val(telElem.val());
            form.find("input[name='telOperator']").val(telElem.attr('data-relation'));
            form.find("input[name='sysTagIds']").val(sysElem.attr('data-id'));
            form.find("input[name='sysTagNames']").val(sysElem.val());
            form.find("input[name='sysOperator']").val(sysElem.attr('data-relation'));
            form.find("input[name='tagSence']").val(row.scene);
            return form.serialize();
        }

    };
    //    折线统计图初始化
    var line = {
        chart: null,
        data: null,
        dataList: null,
        valueList: null,
        option: {
            title: {
                text: ''
            },
            tooltip: {
                trigger: 'axis',
                showContent: true
            },
            legend: {
                type:'scroll',
                left: 50,
                right: 50,
                data: []
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '10%',
                containLabel: true,
                height: '75%'
            },
            toolbox: {
                feature: {
                    saveAsImage: {
                        name:""
                    }
                }
            },
            dataZoom: [],
            dataset: {
                source: []
            },
            xAxis: [
                {
                    type: 'category',
//                    boundaryGap : false,
//                    axisLine: {onZero: false},
//                    data : []
                }
            ],
            yAxis: {
                type: 'value'
            },
            series: []
        },
        init: function () {
            line.myChart = echarts.init(document.getElementById('lineCharts'));
            line.myChart.setOption(line.option);
            line.myChart.showLoading();
        },
        renderOption: function (codeType) {
            var start = new Date($("#callStartTime").val()).getTime();
            var end = new Date($("#callEndTime").val()).getTime();
            var timeArr = [$("#callStartTime").val()];
            var num = (end - start) / 24 / 3600 / 1000;
            for (var i = 0; i < num; i++) {
                start += 24 * 3600 * 1000;
                timeArr.push(dateFormatUtil(start).split(" ")[0]);
            }
            var dataAll = getData.dataAll;
            var seriesM = [];
            var legend = [];
            var source = [];
            var timeAndNumArr=[];
            var tableData=getData.tableData;
            var all=[];
            for(var i=0;i<tableData.length;i++){//获取总诉求 总话务量的数据。
                var objAll={};
                objAll.createTime=tableData[i].createTime;
                objAll.appealNum=tableData[i].appealCount;
                objAll.callNum=tableData[i].callCount;
                all.push(objAll);
            }
            if (dataAll.length > 0) {
                var dataAllObj={};
                if(codeType==0){
                    dataAllObj.classification="总诉求量";
                }else{
                    dataAllObj.classification="话务量";
                }
                dataAllObj.timeAndNum=all;
                dataAll.push(dataAllObj);
                for (var i = 0; i < dataAll.length; i++) {
                    var obj = {};
                    var classification = dataAll[i].classification;
                    var timeAndNum = dataAll[i].timeAndNum;
                    obj.name = classification;
                    obj.type = 'line';
                    obj.seriesLayoutBy = 'row';
                    seriesM.push(obj);
                    legend.push(classification);
                    for(var j=0;j<timeAndNum.length;j++){
                        timeAndNum[j].classification=classification;
                    }
                    timeAndNumArr.push(timeAndNum);
                }
            }
            for(var j=0;j<timeAndNumArr.length;j++){
                var data = timeAndNumArr[j];
                var arrTime=[];
                if (timeArr.length > 0) {
                    for (var i = 0; i < timeArr.length; i++) {
                        arrTime.push(0);
                        if(arrTime.indexOf(data[0].classification)==-1){
                            arrTime.unshift(data[0].classification);
                        }
                    }
                    for (var n = 0; n < timeArr.length; n++) {
                        var timeStr = timeArr[n];
                        for (var m = 0; m < data.length; m++) {
                            var name = data[m].createTime;
                            var appealNum = data[m].appealNum;
                            var callNum = data[m].callNum;
                            var val="";
                            if (codeType == 0) {
                                val = appealNum;
                            } else {
                                val= callNum;
                            }
                            if(name==timeStr){
                                arrTime[n+1]=val
                            }
                        }
                    }
                }
                source.push(arrTime);
            }

            var x = 0;
            var y = 100;
            if (timeArr.length < 10) {
                line.option.dataZoom = [{
                    show: false,
                    realtime: true,
                }]
            } else {
                x = 0;
                y = 60;
                line.renderdataZoom(x, y);
            }
            line.option.legend.data = legend;
            timeArr.unshift("product");
            source.unshift(timeArr);
            line.option.series = seriesM;
            line.option.dataset.source = source;
//            导出图片的名字
            if(codeType==0){
                line.option.toolbox.feature.saveAsImage.name="业务趋势概览诉求量";
            }else{
                line.option.toolbox.feature.saveAsImage.name="业务趋势概览话务量";
            }
            line.myChart.setOption(line.option);
        },
        renderdataZoom: function (start, end) {
            line.option.dataZoom = [{
                show: true,
                realtime: true,
                start: start,
                end: end
            },
                {
                    type: 'inside',
                    realtime: true,
                    start: start,
                    end: end
                }];
        }
    };
    //    获取数据
    var getData = {
        dataAll: null,
        tableData:null,
        init: function (codeType) {
            line.myChart.showLoading();
            var params = {
                callStartTime: $("#callStartTime").val(),//语音开始的日期
                callEndTime: $("#callEndTime").val(),//语音结束的日期
                provinceAndCity: JSON.parse($('#proCity').attr('data-str-search')),
                areaType:$('.pro-tab-title li.on').attr('data-code'),
                classification: $("#workNameNew").val(),//业务的分类id
                scene: $("#workNameNew").val(),//具体的业务场景
                satisfaction: $("#agree").val(),//该通通话客户之满意度
                recallFlag: $("#repeatPhone").val(),//该通通话是否是重复来电
                customerLevel: $("#customerLevel").val(),
                sysTagIds: $("#tagTrafficSearch1").val(),
                sysOperator: $("#tagTrafficSearch1").attr('data-relation'),
                telTagIds: $("#tagTrafficSearch0").val(),
                telOperator: $("#tagTrafficSearch0").attr('data-relation')
            };
            $.ajax({
                type: "POST",
                url: bs.getSysConfig("SJWJ_URL_PRE").value + '/dataMining/appealsTrendAnalysis',
                dataType: "json",
                contentType: 'application/json',
                data: JSON.stringify(params),
                success: function (data) {
                    var code = data.rtnCode;
                    if (code == 0) {
                        var result = data.data;
                        getData.tableData=result;
                        var oTable = new TableInit();
                        oTable.Init(result);
                        $.ajax({
                            type: "POST",
                            url: bs.getSysConfig("SJWJ_URL_PRE").value + '/dataMining/appealsTrendChartAnalysis',
                            dataType: "json",
                            contentType: 'application/json',
                            data: JSON.stringify(params),
                            success: function (data) {
                                var code = data.rtnCode;
                                if (code == 0) {
                                    line.myChart.clear();
                                    line.myChart.hideLoading();
                                    var result = data.data;
                                    getData.dataAll = result;
                                    line.renderOption(codeType);
                                }
                            }
                        });
                    }
                }
            });


        },
        isLoadData: function (codeType) {
            if ($("#callStartTime").val() != "" && $("#proCity").val() != "") {
                $("#lineCharts").show();
                $(".table_box").show();
                $(".mapTitle").show();
                $("#initTip").hide();
                getData.init(codeType);//    获取数据
            } else {
                $("#lineCharts").hide();
                $(".table_box").hide();
                $(".mapTitle").hide();
                $("#initTip").show();
            }
        }
    };
    $(function () {
        resize.init(); //    页面自适应pro-tab-title
        proCity.init($('body'));//    初始化省份/城市
        tools.init();//    查询条初始化
        line.init();//    折线统计图初始化
        var oTable = new TableInit();//    表格初始化
        oTable.Init(json);
        getData.isLoadData(1);
        var proCode = $("#spanId", parent.document).attr("data-procode");
        if(proCode == ''){
            proCode = 'CHINA'
        }else{
            proCity.reset($('body'),bs.getXInY(tools.proArr,'name','value',proCode),proCode,0)
            $('#search').click();
        }
        $("#workAreaId").val(proCode);
        menuWorkNew.init(proCode,$('#jstree'),'1');//    获取业务数据
        workNew.init(proCode,$('#jstree'));//    初始化业务/场景
        tag.init($("#workAreaId"),'Search','0',null,false);//    初始化标签


    })
</script>
</body>
</html>